

module AuthorizationSystem
  

  def current_perfil
    @current_perfil || obtener_perfil unless @current_perfil == false
  end

  
  def current_perfil=(new_perfil)
    session[:idPerfil] = new_perfil ? new_perfil.IdPerfil : nil
    @current_perfil = new_perfil || false
  end
  
  def obtener_perfil
    #perfil = Perfil.find(session[:perfil]) if session[:perfil]
    self.current_perfil = @current_usuario.perfiles.find_by_IdPerfil(session[:idPerfil]) if session[:idPerfil]
  end
  
  def perfil_autorizado
    #controlador=nombre_completo_controlador(params[:controller])
    controlador=params[:controller]
    vista=params[:action]
    
    unless request.method == "POST"
      pantalla= self.current_perfil.pantallas.find_by_Controlador_and_Vista(controlador,vista)

      if pantalla.nil?
        redirect_to inicio_url , :notice => "No permitido"
      end
    end
  end

  def destroy_perfil
    session[:idPerfil]=nil
  end
  
  def tiene_perfil?
    unless session[:idPerfil]
      redirect_to perfiles_usuario_url
    end
#    !!current_perfil
  end
  
  def un_solo_perfil?
     @current_usuario.perfiles.count == 1
  end
  
  
    
end
